磁盘挂载与卸载
============================================

————————————————————————————————
###：mount：挂载一个文件系统
SYNOPSIS：
       mount [-lhV]
       mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
       mount [-fnrsvw] [-o option[,option]...]  device|dir
       mount [-fnrsvw] [-t vfstype] [-o options] device dir
DESCRIPTION：
      根文件系统这外的其它文件系统要想能够被访问，都必须通过“关联”至根文件系统上的某个目录来实现，此关联操作即为“挂载”；此目录即为“挂载点。
      挂载点：mount_point，用于作为另一个文件系统的访问入口。
        (1) 事先存在。
        (2) 应该使用未被或不会被其它进程使用到的目录。
        (3) 挂载点下原有的文件将会被隐藏。
OPTIONS：
        -r：readonly，只读挂载。
        -w：read and write, 读写挂载。
        -n：默认情况下，设备挂载或卸载的操作会同步更新至/etc/mtab文件中；-n用于禁止此特性。
        -t vfstype：指明要挂载的设备上的文件系统的类型；多数情况下可省略，此时mount会通过blkid来判断要挂载的设备的文件系统类型。
        -L LABEL：挂载时以卷标的方式指明设备。
              mount -L LABEL dir
        -U UUID：挂载时以UUID的方式指明设备。
              mount -U UUID dir
      -o options：挂载选项。
        sync/async：同步/异步操作。
        atime/noatime：文件或目录在被访问时是否更新其访问时间戳。
        diratime/nodiratime：目录在被访问时是否更新其访问时间戳。
        remount：重新挂载。
        acl：支持使用facl功能。
          # mount -o acl  device dir
          # tune2fs  -o  acl  device
        ro：只读
        rw：读写
        dev/nodev：设备上是否允许创建设备文件。
        exec/noexec：是否允许运行程序文件（可执行文件）
        auto/noauto：自动挂载，必须在fstab存在
        user/nouser：是否允许普通用户挂载此文件系统
        suid/nosuid：是否允许程序文件上的suid和sgid生效
        defaults：Use default option rw,suid dev exec auto nouser async ,and relatime.

使用技巧：
      绑定操作：将目录绑定到另外一个目录上，当做其临时访问入口。
            mount --bind 源目录 目标目录
      所有已挂载的设备：
            1,  mount
            2, cat /etc/mtab
            3, cat /proc/mounts
      挂载光盘：
            mount -r /dev/cdroom mount_point
            光盘设备文件：/dev/cdrom /dev/cdrw （sr0 或者 hdc）
            mount -r /dev/cdrom /media/cdrom
      挂载u盘：
            识别U盘设备文件。
      挂载本地的回环设备
            mount -o loop 源文件 目标目录

              mount  -a：可自动挂载定义在此文件中的所支持自动挂载的设备；
      mount | column -t      # 查看挂接的分区状态    
————————————————————————————————

/etc/fstab：详解
————————————————————————————————
作用：设定除根文件系统以外的其它文件系统能够开机时自动挂载
~]# cat /etc/fstab
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=a1286a7b-86de-45ea-b405-243296edd943 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-home /home                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0

第一列：要挂载的设备
            设备名称（/dev/sda)
            LABEL
            UUID
            伪文件系统：sysfs, proc, tmpfs......
            注意：
                1：最好不要使用设备名称（/dev/sda)来挂载分区。一旦磁盘的插槽顺序发生了变化，就会出现名称不对应的问题。因为这个名称是会改变的。
                    使用 blkid [[-L]设备名] 进行查看 LABEL 
                2：label挂载就不用担心插槽顺序方面的问题。不过要随时注意的Label name。
                3：j建议使用 UUID，每个分区被格式化以后都会有一个UUID作为唯一的标识号。不存在错乱问题。
                     使用 blkid [[-U]设备名] 进行查看 UUID
第二列：挂载点 
            目录：必须为当前已经存在的目录
            swap类型的设备的挂载点为swap
第三列：文件系统类型
            ext2 ext3 ext4 xfs ....
第四列：挂载选项
            defaults：使用默认挂载选项.
            自定义挂载选项：彼此间以事情分隔（defaults,acl,noatime,noexec）
第五列：备份
            0：从不备份
            1：每天备份
            2：每隔一天备份
第六列：自检次序
            0：不自检；
            1：首先自检，通常只能是根文件系统可用1；
            2：次级自检
            ...




---------------------------------------------------------------------------------------------
###：umount：卸载一个文件系统
SYNOPSIS：
       umount [-hV]
       umount -a [-dflnrv] [-t vfstype] [-O options]
       umount [-dflnrv] {dir|device}...
DESCRIPTION：
      注意：正在被进程访问到的挂载点无法被卸载；
OPTIONS：
      umount        device | dir

      查看被哪个或哪些进程所战用：
        ~]# lsof  挂载点 
        ~]# fuser -v  挂载点
      终止所有正在访问某挂载点的进程：
        ~]# fuser  -km  挂载点
---------------------------------------------------------------------------------------------
###：mkswap：设置一个交换区
SYNOPSIS：
       mkswap [options] device [size]
DESCRIPTION：
    usr var 可以是单独的分区。
    bin sbin 等必须在根分区上。
    Linux上的交换分区必须使用独立的文件系统，且文件系统的System ID必须为82。
OPTIONS：
       -f, --force：强制
          ~]# mkswap -f /dev/sda3
                mkswap: /dev/sda3: warning: wiping old ext2 signature.
                Setting up swapspace version 1, size = 307196 KiB
                no label, UUID=79b32869-c56a-49f7-8330-2a04eeda2a2b

       -L, --label label：指明卷标
            ~]# mkswap -L 'Label' /dev/sda3

      开启与关闭交换分区：
          启用交换分区：swapon device
                  -a：所有swap设备（定义在/etc/fstab 文件中的所有swap设备。）
          禁用交换分区：swapoff device

      设定开机自动挂载（除根文件以外的文件系统）：/etc/fstab
            设备（设备文件 LABEL uuid 伪文件系统） 
            挂砸点：swap比较特殊（swapon 激活）
            文件系统 
            挂载选项：defaults，指明多个挂载点逗号分隔。
                    defaults,acl,noatime,noexec
            转储频率（备份）
                  0：从不备份
                  1：每天备份
                  2：每隔一天备份
          自检次序
                0：不自检
                1：首先自检
                2：次级自检
                .....
                9
---------------------------------------------------------------------------------------------

mkdir /yum
mount -r /dev/cdrom /yum
~]# blkid /dev/sr0
/dev/sr0: UUID="2015-04-01-00-21-36-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
~]# vi /etc/fstab
UUID=2015-04-01-00-21-36-00     /yum  iso9660   defaults  0 0



~]# vi /etc/rc.local
mount /dev/cdrom /mnt/

[base]
name=mdx
baseurl=file:///mnt/
gpgcheck=0
